了解了 Trino 的組成架構後,也必須知曉 Trino 對資料來源的與存取與管理做了什麼樣的設計,畢竟這對一個好的查詢引擎來說至關重要:
說了這麼多,Trino 的優勢可能還不夠具體。因此,在最後我們將透過 Trino 與 Hive 的比較,讓大家更清楚了解 Trino 的優點。
事實上,Trino 最初就是為了解決 Hive 在 HDFS 上分析效能不佳的問題而誕生的。因此,將 Trino 與 Hive 進行比較,最能突顯資料湖倉的優勢。我們將從以下幾個面向來進行比較:
*基模 (Schema)
真不喜歡這類很常被複用的同字異義技術名詞,這邊的基模(Schema)與前一節Trino資料來源所述不同;
這邊指的是Table schema,也就是表格的資料欄位、格式與限制等定義
透過上表 Hive 與 Trino 的比較我們可以知道幾點:
*MapReduce
MapReduce 是 Hadoop 的一個計算框架,適合用來處理大量資料;它將任務分成兩階段:
1.Map:將資料拆成小塊,並對每一塊進行處理。
2.Reduce:將 Map 階段的結果合併,得到最終的答案。
*Schema 模式
Hive算是特例,一般傳統倉儲常用的是Schema-on-write 可就沒有這個好處了。
這些特性對分析架構 (OLAP) 帶來幾個好處:
與其紙上談兵,不如動手實作。
明日起的系列文《Trino 地端架設與調參 (一)》,將從零開始帶你在地端完成 Trino Cluster 的架設,並逐步介紹關鍵的設定與調校方法。
My Linkedin: https://www.linkedin.com/in/benny0624/
My Medium: https://hndsmhsu.medium.com/